home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / pretty14.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  7KB  |  388 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "pretty.h"
  9.  
  10.  
  11. T6 r265is_reference(T265* C){
  12. T6 R=0;
  13. R=X62is_reference((C)->_run_type/*12*/);
  14. return R;
  15. }
  16. /*No:TYPE_FORMAL_GENERIC.written_mark*/
  17.  
  18.  
  19. void r265error(T0* a1,T0* a2){
  20. r37add_position(a1);
  21. r37error((T37*)(oBC11eh),a2);
  22. }
  23.  
  24.  
  25. void r265make(T265* C,T0* a1,T2 a2){
  26. C->_rank=a2;
  27. C->_formal_name=a1;
  28. }
  29.  
  30.  
  31. T6 r265is_none(T265* C){
  32. T6 R=0;
  33. R=X62is_none((C)->_run_type/*12*/);
  34. return R;
  35. }
  36. /*No:TYPE_FORMAL_GENERIC.pretty_print*/
  37.  
  38.  
  39. T6 r265is_array(T265* C){
  40. T6 R=0;
  41. R=X62is_array((C)->_run_type/*12*/);
  42. return R;
  43. }
  44.  
  45.  
  46. void r265fatal_error_generic_list(T265* C){
  47. r37add_type((T0*)C,((T0*)ms62_29184));
  48. r37print_as_fatal_error((T37*)(oBC11eh));
  49. }
  50.  
  51.  
  52. T0* r265constraint(T265* C){
  53. T0* R=NULL;
  54. R=((T263*)(r265formal_arg(C)))->_constraint/*4*/;
  55. return R;
  56. }
  57. /*No:TYPE_FORMAL_GENERIC.fz_bga*/
  58. /*No:TYPE_FORMAL_GENERIC.is_like_argument*/
  59.  
  60.  
  61. T6 r265is_double(T265* C){
  62. T6 R=0;
  63. R=X62is_double((C)->_run_type/*12*/);
  64. return R;
  65. }
  66. T0*oBC11manifest_string_pool=NULL;
  67. /*No:MANIFEST_STRING.start_position*/
  68. /*No:MANIFEST_STRING.to_string*/
  69.  
  70.  
  71. T0* r154add_comment(T154* C,T0* a1){
  72. T0* R=NULL;
  73. /*[IF*/
  74. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  75. R=(T0*)C;
  76. }
  77. else{
  78. {T214*n=malloc(sizeof(*n));
  79. *n=M214;
  80. r214make(n,(T0*)C,a1);
  81. R=(T0*)n;
  82. }
  83. }
  84. /*FI]*/
  85. return R;
  86. }
  87.  
  88.  
  89. T2 r154to_integer(T154* C){
  90. T2 R=0;
  91. r154error((C)->_start_position/*4*/,((T0*)ms12_45846));
  92. return R;
  93. }
  94.  
  95.  
  96. void r154bracketed_pretty_print(T154* C){
  97. T2 _column=0;
  98. T2 _i=0;
  99. _column=((T310*)(oBC11fmt))->_column/*8*/;
  100. r310put_character((T310*)(oBC11fmt),'\42');
  101. _i=1;
  102. while (!((_i)>(((T7*)((C)->_to_string/*8*/))->_count/*4*/))) {
  103. /*[IF*/
  104. if(r154is_on_next_line(C,_i)){
  105. r310put_string((T310*)(oBC11fmt),((T0*)ms154_100));
  106. while (!((_column)==(((T310*)(oBC11fmt))->_column/*8*/))) {
  107. r310put_character((T310*)(oBC11fmt),'\40');
  108. }
  109. r310put_character((T310*)(oBC11fmt),'\45');
  110. }
  111. /*FI]*/
  112. r154pretty_print_character(C,_i);
  113. _i=(_i)+(1);
  114. }
  115. r310put_character((T310*)(oBC11fmt),'\42');
  116. }
  117.  
  118.  
  119. void r154pretty_print_character(T154* C,T2 a1){
  120. T2 _val=0;
  121. /*[IF*/
  122. if((((C)->_percent/*20*/)!=((void*)(NULL)))&&(r155fast_has((T155*)((C)->_percent/*20*/),a1))){
  123. /*[IRF3.3clear*/((((T7*)((T7*)(oBC154tmp_string))))->_count)=(0);
  124. /*]*/
  125. r154character_coding(/*(IRF4.6item*/(((T7*)((C)->_to_string/*8*/))->_storage/*0*/)[(a1)-(1)]/*)*/,oBC154tmp_string);
  126. r310put_string((T310*)(oBC11fmt),oBC154tmp_string);
  127. }
  128.  else if((((C)->_ascii/*16*/)!=((void*)(NULL)))&&(r155fast_has((T155*)((C)->_ascii/*16*/),a1))){
  129. _val=((unsigned char)/*(IRF4.6item*/(((T7*)((C)->_to_string/*8*/))->_storage/*0*/)[(a1)-(1)]/*)*/);
  130. r310put_string((T310*)(oBC11fmt),((T0*)ms154_174));
  131. r310put_integer((T310*)(oBC11fmt),_val);
  132. r310put_string((T310*)(oBC11fmt),((T0*)ms13_48));
  133. }
  134. else{
  135. r310put_character((T310*)(oBC11fmt),/*(IRF4.6item*/(((T7*)((C)->_to_string/*8*/))->_storage/*0*/)[(a1)-(1)]/*)*/);
  136. }
  137. /*FI]*/
  138. }
  139.  
  140.  
  141. void r154character_coding(T3 a1,T0* a2){
  142. T3 _special=0;
  143. {int z1=a1;
  144.  
  145. if((64==z1)){
  146. _special='A';
  147. }
  148.  else 
  149. if((8==z1)){
  150. _special='B';
  151. }
  152.  else 
  153. if((94==z1)){
  154. _special='C';
  155. }
  156.  else 
  157. if((36==z1)){
  158. _special='D';
  159. }
  160.  else 
  161. if((12==z1)){
  162. _special='F';
  163. }
  164.  else 
  165. if((92==z1)){
  166. _special='H';
  167. }
  168.  else 
  169. if((126==z1)){
  170. _special='L';
  171. }
  172.  else 
  173. if((10==z1)){
  174. _special='N';
  175. }
  176.  else 
  177. if((96==z1)){
  178. _special='Q';
  179. }
  180.  else 
  181. if((13==z1)){
  182. _special='R';
  183. }
  184.  else 
  185. if((35==z1)){
  186. _special='S';
  187. }
  188.  else 
  189. if((9==z1)){
  190. _special='T';
  191. }
  192.  else 
  193. if((0==z1)){
  194. _special='U';
  195. }
  196.  else 
  197. if((124==z1)){
  198. _special='V';
  199. }
  200.  else 
  201. if((37==z1)){
  202. _special='\45';
  203. }
  204.  else 
  205. if((39==z1)){
  206. _special='\47';
  207. }
  208.  else 
  209. if((34==z1)){
  210. _special='\42';
  211. }
  212.  else 
  213. if((91==z1)){
  214. _special='\50';
  215. }
  216.  else 
  217. if((93==z1)){
  218. _special='\51';
  219. }
  220.  else 
  221. if((123==z1)){
  222. _special='\74';
  223. }
  224.  else 
  225. if((125==z1)){
  226. _special='\76';
  227. }
  228. }
  229. r7extend(((T7*)a2),'\45');
  230. /*[IF*/
  231. if((_special)==('\0')){
  232. r7extend(((T7*)a2),'\57');
  233. r2append_in(((unsigned char)a1),a2);
  234. r7extend(((T7*)a2),'\57');
  235. }
  236. else{
  237. r7extend(((T7*)a2),_special);
  238. }
  239. /*FI]*/
  240. }
  241.  
  242.  
  243. T0* r154to_runnable(T154* C,T0* a1){
  244. T0* R=NULL;
  245. /*[IF*/
  246. if(((C)->_mangling/*24*/)==((void*)(NULL))){
  247. C->_mangling=r356register((T0*)C);
  248. }
  249. /*FI]*/
  250. R=(T0*)C;
  251. return R;
  252. }
  253. /*No:MANIFEST_STRING.us_slash*/
  254. /*No:MANIFEST_STRING.fz_iinaiv*/
  255. /*No:MANIFEST_STRING.result_type*/
  256.  
  257.  
  258. void r154break_line(T154* C){
  259. /*[IF*/
  260. if(((C)->_break/*12*/)==((void*)(NULL))){
  261. C->_break=se_ma155(1,
  262. (((T7*)((C)->_to_string/*8*/))->_count/*4*/)+(1));
  263. }
  264. else{
  265. r155add_last((T155*)((C)->_break/*12*/),(((T7*)((C)->_to_string/*8*/))->_count/*4*/)+(1));
  266. }
  267. /*FI]*/
  268. }
  269. /*No:MANIFEST_STRING.percent*/
  270.  
  271.  
  272. T6 r154is_on_next_line(T154* C,T2 a1){
  273. T6 R=0;
  274. /*[IF*/
  275. if(((C)->_break/*12*/)!=((void*)(NULL))){
  276. R=r155fast_has((T155*)((C)->_break/*12*/),a1);
  277. }
  278. /*FI]*/
  279. return R;
  280. }
  281.  
  282.  
  283. T0* r154twin(T154* C){
  284. T0* R=NULL;
  285. R=malloc(sizeof(*C));
  286. *((T154*)R)=*C;
  287. return R;
  288. }
  289.  
  290.  
  291. void r154print_as_target(T154* C){
  292. r310put_character((T310*)(oBC11fmt),'\50');
  293. r154pretty_print(C);
  294. r310put_character((T310*)(oBC11fmt),'\51');
  295. r310put_character((T310*)(oBC11fmt),'\56');
  296. }
  297. /*No:MANIFEST_STRING.add*/
  298.  
  299.  
  300. void r154error(T0* a1,T0* a2){
  301. r37add_position(a1);
  302. r37error((T37*)(oBC11eh),a2);
  303. }
  304. /*No:MANIFEST_STRING.precedence*/
  305.  
  306.  
  307. void r154make(T154* C,T0* a1){
  308. C->_start_position=a1;
  309. {T7*n=malloc(sizeof(*n));
  310. *n=M7;
  311. r7make(n,0);
  312. C->_to_string=(T0*)n;
  313. }
  314. }
  315.  
  316.  
  317. void r154add_percent(T154* C,T3 a1){
  318. r7extend((T7*)((C)->_to_string/*8*/),a1);
  319. /*[IF*/
  320. if(((C)->_percent/*20*/)==((void*)(NULL))){
  321. C->_percent=se_ma155(1,
  322. ((T7*)((C)->_to_string/*8*/))->_count/*4*/);
  323. }
  324. else{
  325. r155add_last((T155*)((C)->_percent/*20*/),((T7*)((C)->_to_string/*8*/))->_count/*4*/);
  326. }
  327. /*FI]*/
  328. }
  329. /*No:MANIFEST_STRING.is_current*/
  330. /*No:MANIFEST_STRING.break*/
  331.  
  332.  
  333. void r154pretty_print(T154* C){
  334. T2 _column=0;
  335. T2 _i=0;
  336. _column=((T310*)(oBC11fmt))->_column/*8*/;
  337. r310put_character((T310*)(oBC11fmt),'\42');
  338. _i=1;
  339. while (!((_i)>(((T7*)((C)->_to_string/*8*/))->_count/*4*/))) {
  340. /*[IF*/
  341. if(r154is_on_next_line(C,_i)){
  342. r310put_string((T310*)(oBC11fmt),((T0*)ms154_100));
  343. while (!((_column)==(((T310*)(oBC11fmt))->_column/*8*/))) {
  344. r310put_character((T310*)(oBC11fmt),'\40');
  345. }
  346. r310put_character((T310*)(oBC11fmt),'\45');
  347. }
  348. /*FI]*/
  349. r154pretty_print_character(C,_i);
  350. _i=(_i)+(1);
  351. }
  352. r310put_character((T310*)(oBC11fmt),'\42');
  353. }
  354. /*No:MANIFEST_STRING.is_void*/
  355. /*No:MANIFEST_STRING.mangling*/
  356. T0*oBC154tmp_string=NULL;
  357.  
  358.  
  359. void r154add_ascii(T154* C,T3 a1){
  360. r7extend((T7*)((C)->_to_string/*8*/),a1);
  361. /*[IF*/
  362. if(((C)->_ascii/*16*/)==((void*)(NULL))){
  363. C->_ascii=se_ma155(1,
  364. ((T7*)((C)->_to_string/*8*/))->_count/*4*/);
  365. }
  366. else{
  367. r155add_last((T155*)((C)->_ascii/*16*/),((T7*)((C)->_to_string/*8*/))->_count/*4*/);
  368. }
  369. /*FI]*/
  370. }
  371. /*No:MANIFEST_STRING.ascii*/
  372. /*No:MANIFEST_STRING.atomic_precedence*/
  373. int fBC11type_string=0;
  374. T0*oBC11type_string=NULL;
  375.  
  376.  
  377. T0* r154type_string(void){
  378. if(fBC11type_string==0){
  379. fBC11type_string=1;
  380. {T256*n=malloc(sizeof(*n));
  381. *n=M256;
  382. r256make(n,NULL);
  383. oBC11type_string=(T0*)n;
  384. }
  385. }
  386. return oBC11type_string;}
  387.  
  388.